A central processing unit (CPU) such as for example a processor that may be included in a network interface card (NIC) for wireless communication may in some cases process only one function or command at a time. In some cases, once the processing of a particular function or command is begun, such processing must be completed without interruption of the CPU from other commands or other functions.
Some programs implementing protocols or standards, such as for example standards that may be used in wireless communications such as for example IEEE std. 802.11-1999 (published 1999; ISO/IEC 802-11:1999), 802.11a and 802.11b, may require periodic or regular execution of low priority or background functions such as for example load estimation for power management or link analysis for link control. While the execution of these or other background functions may be delayed until a CPU is free or available, once the execution of a background function begins, it may in some cases not be interrupted until its execution is completed. On the other hand, the amount of time that may be required to process a background command to completion may be more than the time available between time-dependent events such as, for example, receive (Rx) commands that may come from other NICs, or transmit (Tx) commands that may come from, for example, a host to which a NIC may be connected. A delay of more than a brief period in the execution of such time-dependent commands may impair processing of such time-dependent commands.